package 位运算的骚操作;

/**
 * @author ljb
 * @version 1.0
 * @Date 2024/12/1
 */
// Brian Kernighan算法
// 提取出二进制里最右侧的1
// 判断一个整数是不是2的幂
// 测试链接 : https://leetcode.cn/problems/power-of-two/
public class Code01_PowerOfTwo {
    //判断0000 1010(n) 是否等于 0000 0010(提取出二进制里最右侧的1)
    //2的幂2^0=1 2^1=2 2^3=8   都只有一个1
    //     0001  0010  1000
    public boolean isPowerOfTwo(int n) {
        return n > 0 && n == (n & (-n));
    }
}
